跳到主要内容

FQGoodsCard 组件

介绍​

商品卡片,常见于首页、搜索页,用于展示单个商品信息,包括商品图片、商品价格等。

用法​

基本引入​

import { FQGoodsCard } from '@fq/fq-weapp-ui-pro';

组件依赖的样式文件(仅按需引用时需要)

import '@fq/fq-weapp-ui-pro/dist/styles/components/goods-card.scss';

基础用法​

<FQGoodsCard
layout='column'
badgeNum={1}
goodsName='酱卤猪头肉 不含防腐剂 配料表干净'
imageUrl='https://stantic.ifengqun.com/front/fq-oms-extsys/upload/1d0dc847a0cd20135a65f50e4949a3c4.jpg?x-oss-process=image/format,webp/interlace,1'
sellingPoint='脆甜多汁糖心实在SGS检测'
salesVolume='1000万'
niceRate='99.9%'
price={100}
promoLabelText='今日热销8724件'
originalPrice={113}
coupon={[{ text: '新人券-立减6元' }, { text: '超值换购' }]}
actionArea={<FQGoodsCard.PlusButton />}
/>
<FQGoodsCard
badgeNum={1}
goodsName='酱卤猪头肉 不含防腐剂 配料表干净'
imageUrl='https://stantic.ifengqun.com/front/fq-oms-extsys/upload/1d0dc847a0cd20135a65f50e4949a3c4.jpg?x-oss-process=image/format,webp/interlace,1'
sellingPoint='脆甜多汁糖心实在SGS检测'
salesVolume='1000万'
niceRate='99.9%'
price={100}
promoLabelText='今日热销8724件'
originalPrice={113}
coupon={[{ text: '新人券-立减6元' }, { text: '超值换购' }]}
actionArea={<FQGoodsCard.PlusButton />}
/>
<FQGoodsCard
badgeNum={1}
layout='column'
size='small'
goodsName='酱卤猪头肉 不含防腐剂 配料表干净'
imageUrl='https://stantic.ifengqun.com/front/fq-oms-extsys/upload/1d0dc847a0cd20135a65f50e4949a3c4.jpg?x-oss-process=image/format,webp/interlace,1'
sellingPoint='脆甜多汁糖心实在SGS检测'
salesVolume='1000万'
price={100}
originalPrice={113}
actionArea={<FQGoodsCard.PlusButton />}
/>

自定义排行榜标签 & 促销标签​

<FQGoodsCard
goodsName='酱卤猪头肉 不含防腐剂 配料表干净'
imageUrl='https://stantic.ifengqun.com/front/fq-oms-extsys/upload/1d0dc847a0cd20135a65f50e4949a3c4.jpg?x-oss-process=image/format,webp/interlace,1'
price={100}
promoLabelText='今日热销1234件'
showPromoLabel
rankingLabelText='食品生鲜热销榜第10名'
showRankingLabel
onRankingLabelClick={() => {
console.log('排行榜点击');
}}
/>

自定义促销相关描述​

<FQGoodsCard
goodsName='酱卤猪头肉 不含防腐剂 配料表干净'
imageUrl='https://stantic.ifengqun.com/front/fq-oms-extsys/upload/1d0dc847a0cd20135a65f50e4949a3c4.jpg?x-oss-process=image/format,webp/interlace,1'
salesVolume='1000万'
niceRate='99%'
reviewCount={100}
sellingPoint='脆甜多汁糖心实在SGS检测'
coupon={[{ prefix: '新人券', text: '立减6元' }, { text: '超值换购' }]}
price={100}
/>

自定义营销标签​

<FQGoodsCard
layout='column'
goodsName='酱卤猪头肉 不含防腐剂 配料表干净'
imageRound={false}
imageUrl='https://stantic.ifengqun.com/front/fq-oms-extsys/upload/1d0dc847a0cd20135a65f50e4949a3c4.jpg?x-oss-process=image/format,webp/interlace,1'
sellingPoint='脆甜多汁糖心实在SGS检测'
salesVolume='1000万'
marketingLabel={{
labelText: '限时秒杀',
dateText: '距结束2天03:22:23',
salesVolume: '已抢1000万件',
}}
showMarketingLabel
actionArea={<FQGoodsCard.ComposeButton />}
/>

自定义营销标签-会员价​

非会员​

<FQGoodsCard
layout='column'
size='middle'
goodsName='酱卤猪头肉 不含防腐剂 配料表干净'
imageUrl='https://stantic.ifengqun.com/front/fq-oms-extsys/upload/1d0dc847a0cd20135a65f50e4949a3c4.jpg?x-oss-process=image/format,webp/interlace,1'
sellingPoint='脆甜多汁糖心实在SGS检测'
salesVolume='1000万'
price={100}
originalPrice={113}
showMarketingLabel
priceProps={{
showSuffixText: true,
priceAfter: '券后价',
}}
showMemberLabel
isMember={false}
vipPrice='会员价 ¥50'
marketingLabel={{
labelText: '爆品活动',
dateText: '2天 03:22:23',
}}
actionArea={<FQGoodsCard.PlusButton />}
/>

#### 会员
<FQGoodsCard
layout='column'
size='middle'
goodsName='酱卤猪头肉 不含防腐剂 配料表干净'
imageUrl='https://stantic.ifengqun.com/front/fq-oms-extsys/upload/1d0dc847a0cd20135a65f50e4949a3c4.jpg?x-oss-process=image/format,webp/interlace,1'
sellingPoint='脆甜多汁糖心实在SGS检测'
salesVolume='1000万'
price={100}
originalPrice={113}
showMarketingLabel
marketingLabel={{
dateText: '2天 03:22:23',
labelIcon:'https://stantic.ifengqun.com/front/fq-oms-extsys/upload/1d0dc847a0cd20135a65f50e4949a3c4.jpg?x-oss-process=image/format,webp/interlace,1',
}}
showMemberLabel
isMember
vipPrice='会员价500'
priceProps={{
showSuffixText: true,
priceAfter: {
text: '会员专享',
},
}}
actionArea={<FQGoodsCard.PlusButton />}
/>

售罄卡片​

<FQGoodsCard
goodsName='酱卤猪头肉 不含防腐剂 配料表干净'
goodsNameLine={2}
imageUrl='https://stantic.ifengqun.com/front/fq-oms-extsys/upload/1d0dc847a0cd20135a65f50e4949a3c4.jpg?x-oss-process=image/format,webp/interlace,1'
salesVolume='1000万'
price={100}
isNoStock
/>

API​

属性​

参数说明类型默认值版本
badgeNum左上角序号number-
coupon优惠券FQCardCoupon[]-v0.6.0 旧 string[] / [string, string][] 格式已移除
formatOriginalPrice格式化原价(仅在垂直布局大卡片时生效)(originalPrice: string | number) => string | number最低到手¥xxx起v0.2.7
goodsBadge商品徽章ReactNode-v0.2.7
goodsName商品名称string-
goodsNameLine商品名称行数,默认2,即2行省略number / string2
goodsNameOverflow商品名称溢出方式ellipsis / clipclip
isMember是否会员,只有设置了showMemberLabel才生效booleanfalse
isNoStock是否无库存booleanfalse
isNoStock是否无库存booleanfalse
marketingLabel营销标签{ labelText?: string, labelImage?: string, dateText?: string, salesVolume?: string }-
marketingLabelProps营销标签配置{ bgUrl?: string }-
niceRate惊艳度number / string-
originalPrice原价number / string-
price价格number / string-
priceAfterText价格后的文案string-v0.2.7 中已移除
pickupTimeText提货时间文案string-
priceProps价格配置,price propsOmit<PriceProps, 'originalPrice' | 'price'>-v0.2.7
priceAfterIconPosition价格后图标位置'afterPrice' / 'afterOriginalPrice''afterPrice'
promoLabelProps促销标签配置{ bgColor?: string; color?: string; icon?: string }-
promoLabelText促销标签文案string-
rankingLabelText排名信息string-
reviewCount评价数量number / string-
salesVolume销量number / string-
sellingPoint卖点string-
customMarketingText自定义营销文案(如果已有的销量那一行不满足样式,可使用当前参数)string-
showMarketingLabel是否显示营销标签booleanfalse
showPromoLabel是否显示促销标签booleanfalse
showRankingLabel是否显示排名booleanfalse
showMemberLabel是否显示会员标签booleanfalse
onRankingLabelClickrankingLabel 点击事件() => void-
vipPrice会员价文案, 只有设置了showMemberLabel,并且isMember=false才展示string-
vipPriceText会员价格文案string-

更多配置参考FQCard。

FQCardCoupon​

优惠券类型,v0.3.0 新增。

参数说明类型默认值版本
prefix优惠券前缀string-
prefixStyle优惠券前缀样式CSSProperties-
text优惠券文案string-
style优惠券样式CSSProperties-

从使用者角度,传入的方式相比之前的复杂了;但因业务扩展,这种方式可以更好扩展卡片优惠券标签的样式。如:直播间小绿车-直播间专享优惠券。

插槽​

参数说明类型默认值版本
goodsBadge商品徽章ReactNode-v0.2.7
priceSlot原有 FQCard price 插槽ReactNode-v0.5.1

其余与[FQCard](../components/presentation/Card 卡片.mdx)插槽一致,传入时将覆盖原位置预插入的元素。

GoodsCard.ComposeButton​

卡片组合购物按钮组件,常用于商品大卡片。

参数说明类型默认值版本
buyBtnProps购买按钮 button propsobject-
buyText购买按钮文本ReactNode'购买'
cartBtnProps购物车按钮 button propsobject-
cartText购物车按钮文本ReactNode<Image />
disabled按钮禁用booleanfalse
onAddCart点击购物车按钮时回调(event: ITouchEvent) => void-
onBuy点击购买按钮时回调(event: ITouchEvent) => void-
onClick点击按钮时回调(event: ITouchEvent) => void-

GoodsCard.PlusButton​

卡片按钮组件,常用于商品小卡片。

属性和事件和 FQButton 一致,更多配置参考 Button 组件。

FAQ​

如果卡片右下方的按钮,预设的两种按键 GoodsCard.ComposeButton、 GoodsCard.PlusButton 满足不了业务场景时,如何自定义按钮?

你可以通过 actionArea 传入自定义组件来定义。

假设营销标签模块、或促销相关描述的布局已经和 FQGoodsCard 差异比较大时?

你可以通过传入 FQCard 相关的插槽,进行覆盖 FQGoodsCard 预插入内容,因为 FQGoodsCard 继承至 FQCard。

假设 salesVolume 销量、 niceRate 惊艳度的文案样式已经不能满足业务场景,如何自定义文案和样式?

你可以通过 customMarketingText 传入自定义组件来定义。